package com.symc.his.api.registration;

import com.symc.his.api.base.BaseResponse;
import com.symc.his.api.registration.dto.req.PatientRegisterReqDTO;
import com.symc.his.api.registration.dto.resp.PatientRegisterRespDTO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @Description: 病人挂号服务接口
 * @CreateTime: 2023/3/8 22:43
 * @Version: 
 * @Since: 1.8
 * @Author: 辛凤文 forward.seen@foxmail.com 
 */
public interface PatientRegisterService {

    /**
     *  测试接口
     * @param patientRegisterId
     * @return
     */
    @GetMapping("/testPatientRegister")
    BaseResponse<PatientRegisterRespDTO> testPatientRegister(Integer patientRegisterId);

    /**
     * 给病人挂号
     * @param patientRegisterReqDTO
     * @return
     */
    @PostMapping("/addPatientRegister")
    BaseResponse<PatientRegisterRespDTO> addPatientRegister(@RequestBody PatientRegisterReqDTO patientRegisterReqDTO);

    /**
     * 根据条件分页查询符合要求的挂号列表
     * @param currentPageNum
     * @param pageSize
     * @param patientRegisterReqDTO
     * @return
     */
    @PostMapping("/queryRegisterInfoPage")
    BaseResponse<PatientRegisterRespDTO> queryRegisterInfoPage(@RequestParam Integer currentPageNum,
        @RequestParam Integer pageSize,@RequestBody PatientRegisterReqDTO patientRegisterReqDTO);

    /**
     * 根据参数对象删除记录，一般根据ID删除
     * @param patientRegisterReqDTO
     * @return
     */
    @PostMapping("/deletePatientRegisterById")
    BaseResponse<PatientRegisterRespDTO> deletePatientRegisterById(@RequestBody PatientRegisterReqDTO patientRegisterReqDTO);

}